1.2. Events — Device to Server
X-PHONEOWNER
issue in device vCalendar:
Device in some cases put X-PHONEOWNER
as one parameter of the attendee indicating that the attendee is the phone owner. X-PHONEOWNER
doesn’t have a value and this breaks the server parser. Server should handle this.
VCALENDAR VERSION:1.0 BEGIN:VEVENT UID:20080204T191415Z-405000-H2_Board SUMMARY;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:Special=20chars=20=C6=92 DESCRIPTION;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:=C2=A2=20=C2=A6=20& DTSTART:20080204T191200Z DTEND:20080204T194200Z X-EPOCAGENDAENTRYTYPE:APPOINTMENT CLASS:PUBLIC LOCATION;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:=C2=A9 SEQUENCE:-1 X-METHOD:NONE ATTENDEE;ROLE=ORGANIZER;STATUS=NEEDS ACTION;RSVP=NO;EXPECT=FYI;XPHONEOWNER: name@server.com LAST-MODIFIED:20080204T191415Z PRIORITY:0 STATUS:CONFIRMED X-MOBILEOS-LUID:11 END:VEVENT END:VCALENDAR
Exception=vendor.ocs.tm.icalendar.exception.ICalParseException: '=' expected after "XPHONEOWNER"(Parameter=X-PHONEOWNER)(Parameter in comp=VEVENT.prop=ATTENDEE) at vendor.ocs.protocols.oma.ds.connector.calendar.VCalParser.parseSubComponent(VCalParser.java:232) at vendor.ocs.protocols.oma.ds.connector.calendar.VCalParser.parseSubComponent(VCalParser.java:203) at vendor.ocs.protocols.oma.ds.connector.calendar.VCalParser.parseComponent(VCalParser.java:148) at vendor.ocs.protocols.oma.ds.connector.calendar.CalendarUtil.stringToVCalendar(CalendarUtil.java:225) at vendor.ocs.protocols.oma.ds.connector.calendar.EventsStore.initIncomingEvent(EventsStore.java:1399) at vendor.ocs.protocols.oma.ds.connector.calendar.EventsStore.addData(EventsStore.java:2259) at vendor.ocs.protocols.oma.ds.connector.calendar.EventsStoreConnector.applyClientDataOperationById(EventsStoreConnector.java:201) at vendor.ocs.protocols.oma.ds.connector.calendar.CalendarStoreConnector.applyClientDataOperationById(CalendarStoreConnector.java:129) at vendor.ocs.protocols.oma.ds.protocol.executor.AddExecutor.execute(AddExecutor.java:312) at vendor.ocs.protocols.oma.ds.protocol.executor.CmdExecutor.executeSubCommands(CmdExecutor.java:81) at vendor.ocs.protocols.oma.ds.protocol.executor.SyncExecutor.execute(SyncExecutor.java:214) at vendor.ocs.protocols.oma.ds.protocol.DsProtocolHandler.processMessage(DsProtocolHandler.java:720) at vendor.ocs.protocols.oma.RequestProcessor.processRequest(RequestProcessor.java:334) at vendor.ocs.protocols.oma.transport.servlet.OmaServlet.doPost(OmaServlet.java:103) at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64) at vendor.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:396) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:396) at vendor.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:415) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368) at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448) at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:302) at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190) at vendor.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303) at java.lang.Thread.run(Thread.java:595) Caused by: vendor.ocs.tm.icalendar.exception.ICalParseException: '=' expected after "XPHONEOWNER"( Parameter=X-PHONEOWNER) at vendor.ocs.protocols.oma.ds.connector.calendar.VCalParser.parseParameters(VCalParser.java:407) at vendor.ocs.protocols.oma.ds.connector.calendar.VCalParser.parseSubComponent(VCalParser.java:230) ... 29 more Caused by: vendor.ocs.tm.icalendar.exception.ICalParseException: '=' expected after "XPHONEOWNER"(Parameter=X-PHONEOWNER) at vendor.ocs.protocols.oma.ds.connector.calendar.VCalParser.parseParameters(VCalParser.java:407) at vendor.ocs.protocols.oma.ds.connector.calendar.VCalParser.parseSubComponent(VCalParser.java:230) ... 29 more Caused by: vendor.ocs.tm.icalendar.exception.ICalParseException: '=' expected after "XPHONEOWNER" at vendor.ocs.protocols.oma.ds.connector.calendar.VCalParser.parseParameters(VCalParser.java:379) ... 30 more